Object detection is an important task in computer vision for computers to understand the world and make reactions, and has great potential to emerging applications such as automatic driving. In the past few years, deep convolutional neural networks (CNNs) have shown promising results on object detection. Although CNNs have been demonstrated to be effective on object detection, existing methods often do not detect small objects as well as they do for the large objects. Moreover, the size of input for those networks is limited by the amount of memory available on graphics processing unit (GPU). The following embodiments solve these challenges for small object detection with low memory requirements.